﻿<?xml version="1.0" encoding="utf-8"?>
<xsd:schema targetNamespace="http://schemas.openxmlformats.org/spreadsheetml/2006/main" elementFormDefault="qualified" xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
  <xsd:include schemaLocation="sml-baseTypes.xsd" />
  <xsd:include schemaLocation="sml-sheet.xsd" />
  <xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships" schemaLocation="shared-relationshipReference.xsd" />
  <xsd:element name="externalLink" type="CT_ExternalLink">
    <xsd:annotation>
      <xsd:documentation>External Reference</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:complexType name="CT_ExternalLink">
    <xsd:choice>
      <xsd:element name="externalBook" type="CT_ExternalBook" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>External Workbook</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="ddeLink" type="CT_DdeLink" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>DDE Connection</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="oleLink" type="CT_OleLink" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>OLE Link</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="extLst" minOccurs="0" type="CT_ExtensionList"></xsd:element>
    </xsd:choice>
  </xsd:complexType>
  <xsd:complexType name="CT_ExternalBook">
    <xsd:sequence>
      <xsd:element name="sheetNames" type="CT_ExternalSheetNames" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Supporting Workbook Sheet Names</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="definedNames" type="CT_ExternalDefinedNames" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Named Links</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="sheetDataSet" type="CT_ExternalSheetDataSet" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Cached Worksheet Data</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute ref="r:id" use="required">
      <xsd:annotation>
        <xsd:documentation>Relationship to supporting book file path</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="CT_ExternalSheetNames">
    <xsd:sequence>
      <xsd:element name="sheetName" minOccurs="1" maxOccurs="unbounded" type="CT_ExternalSheetName">
        <xsd:annotation>
          <xsd:documentation>Sheet Name</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CT_ExternalSheetName">
    <xsd:attribute name="val" type="ST_Xstring">
      <xsd:annotation>
        <xsd:documentation>Sheet Name Value</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="CT_ExternalDefinedNames">
    <xsd:sequence>
      <xsd:element name="definedName" type="CT_ExternalDefinedName" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>Defined Name</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CT_ExternalDefinedName">
    <xsd:attribute name="name" type="ST_Xstring" use="required">
      <xsd:annotation>
        <xsd:documentation>Defined Name</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="refersTo" type="ST_Xstring" use="optional">
      <xsd:annotation>
        <xsd:documentation>Refers To</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="optional">
      <xsd:annotation>
        <xsd:documentation>Sheet Id</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="CT_ExternalSheetDataSet">
    <xsd:sequence>
      <xsd:element name="sheetData" type="CT_ExternalSheetData" minOccurs="1" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>External Sheet Data Set</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CT_ExternalSheetData">
    <xsd:sequence>
      <xsd:element name="row" type="CT_ExternalRow" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>Row</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="sheetId" type="xsd:unsignedInt" use="required">
      <xsd:annotation>
        <xsd:documentation>Sheet Id</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="refreshError" type="xsd:boolean" use="optional" default="false">
      <xsd:annotation>
        <xsd:documentation>Last Refresh Resulted in Error</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="CT_ExternalRow">
    <xsd:sequence>
      <xsd:element name="cell" type="CT_ExternalCell" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>External Cell Data</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="r" type="xsd:unsignedInt" use="required">
      <xsd:annotation>
        <xsd:documentation>Row</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="CT_ExternalCell">
    <xsd:sequence>
      <xsd:element name="v" type="ST_Xstring" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>Value</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="r" type="ST_CellRef" use="optional">
      <xsd:annotation>
        <xsd:documentation>Reference</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="t" type="ST_CellType" use="optional" default="n">
      <xsd:annotation>
        <xsd:documentation>Type</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="vm" type="xsd:unsignedInt" use="optional" default="0">
      <xsd:annotation>
        <xsd:documentation>Value Metadata</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="CT_DdeLink">
    <xsd:sequence>
      <xsd:element name="ddeItems" type="CT_DdeItems" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>DDE Items Collection</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="ddeService" type="ST_Xstring" use="required">
      <xsd:annotation>
        <xsd:documentation>Service name</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="ddeTopic" type="ST_Xstring" use="required">
      <xsd:annotation>
        <xsd:documentation>Topic for DDE server</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="CT_DdeItems">
    <xsd:sequence>
      <xsd:element name="ddeItem" type="CT_DdeItem" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>DDE Item definition</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CT_DdeItem">
    <xsd:sequence>
      <xsd:element name="values" type="CT_DdeValues" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>DDE Name Values</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="name" type="ST_Xstring" default="0">
      <xsd:annotation>
        <xsd:documentation>DDE Name</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="ole" type="xsd:boolean" use="optional" default="false">
      <xsd:annotation>
        <xsd:documentation>OLE</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="advise" type="xsd:boolean" use="optional" default="false">
      <xsd:annotation>
        <xsd:documentation>Advise</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="preferPic" type="xsd:boolean" use="optional" default="false">
      <xsd:annotation>
        <xsd:documentation>Data is an Image</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="CT_DdeValues">
    <xsd:sequence>
      <xsd:element name="value" minOccurs="1" maxOccurs="unbounded" type="CT_DdeValue">
        <xsd:annotation>
          <xsd:documentation>Value</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="rows" type="xsd:unsignedInt" use="optional" default="1">
      <xsd:annotation>
        <xsd:documentation>Rows</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="cols" type="xsd:unsignedInt" use="optional" default="1">
      <xsd:annotation>
        <xsd:documentation>Columns</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="CT_DdeValue">
    <xsd:sequence>
      <xsd:element name="val" type="ST_Xstring" minOccurs="1" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>DDE Link Value</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="t" type="ST_DdeValueType" use="optional" default="n">
      <xsd:annotation>
        <xsd:documentation>DDE Value Type</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:simpleType name="ST_DdeValueType">
    <xsd:annotation>
      <xsd:documentation>DDE Value Types</xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="nil">
        <xsd:annotation>
          <xsd:documentation>Nil</xsd:documentation>
        </xsd:annotation>
      </xsd:enumeration>
      <xsd:enumeration value="b">
        <xsd:annotation>
          <xsd:documentation>Boolean</xsd:documentation>
        </xsd:annotation>
      </xsd:enumeration>
      <xsd:enumeration value="n">
        <xsd:annotation>
          <xsd:documentation>Real Number</xsd:documentation>
        </xsd:annotation>
      </xsd:enumeration>
      <xsd:enumeration value="e">
        <xsd:annotation>
          <xsd:documentation>Error</xsd:documentation>
        </xsd:annotation>
      </xsd:enumeration>
      <xsd:enumeration value="str">
        <xsd:annotation>
          <xsd:documentation>String</xsd:documentation>
        </xsd:annotation>
      </xsd:enumeration>
    </xsd:restriction>
  </xsd:simpleType>
  <xsd:complexType name="CT_OleLink">
    <xsd:sequence>
      <xsd:element name="oleItems" type="CT_OleItems" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>OLE Link Items</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute ref="r:id" use="required">
      <xsd:annotation>
        <xsd:documentation>OLE Link Relationship</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="progId" type="ST_Xstring" use="required">
      <xsd:annotation>
        <xsd:documentation>OLE Link ProgID</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="CT_OleItems">
    <xsd:sequence>
      <xsd:element name="oleItem" type="CT_OleItem" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>OLE Link Item</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="CT_OleItem">
    <xsd:attribute name="name" type="ST_Xstring" use="required">
      <xsd:annotation>
        <xsd:documentation>OLE Name</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="icon" type="xsd:boolean" use="optional" default="false">
      <xsd:annotation>
        <xsd:documentation>Icon</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="advise" type="xsd:boolean" use="optional" default="false">
      <xsd:annotation>
        <xsd:documentation>Advise</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="preferPic" type="xsd:boolean" use="optional" default="false">
      <xsd:annotation>
        <xsd:documentation>Object is an Image</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
</xsd:schema>